#

| Chapter 10 The Sed Editor |

## t

    [address1][,address2]t [label]

Test if any substitutions have been made on addressed lines, and if so, branch to line marked by :`label`. (See b and :.) If `label` is not specified, control falls through to bottom of script. The t command is like a case statement in the C programming language or the shell programming languages. You test each case: when it's true, you exit the construct.

### Example

Suppose you want to fill empty fields of a database. You have this:

>     ID: 1   Name: greg   Rate: 45
>     ID: 2   Name: dale
>     ID: 3

You want this:

>     ID: 1   Name: greg   Rate: 45   Phone: ??
>     ID: 2   Name: dale   Rate: ??   Phone: ??
>     ID: 3   Name: ????   Rate: ??   Phone: ??

You need to test the number of fields already there. Here's the script (fields are tab-separated):

>     /ID/{
>     s/ID: .* Name: .* Rate: .*/&   Phone: ??/p
>     t
>     s/ID: .* Name: .*/&   Rate: ??   Phone: ??/p
>     t
>     s/ID: .*/&   Name: ??     Rate: ??   Phone: ??/p
>     }

Reference: s |  | Reference: w